﻿Public Class CINNERLabelSetState2 : Inherits CStateBase

    ''' <summary>
    ''' 実行可能かを判断する
    ''' </summary>
    ''' <param name="task"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Overrides Function IsEnter(ByVal task As CTaskBase) As Boolean
        Debug.WriteLine("CINNERLabelSetState2.IsEnter")
        If CCommon.isInStr(task.ActionCd, "LABEL_INNER_CHECK") Then
            Return True
        Else
            Return False
        End If
    End Function

    ''' <summary>
    ''' 実行メソッド
    ''' </summary>
    ''' <param name="task"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Overrides Function DoExecute(ByVal task As CTaskBase) As CStateBase
        Dim nextState As CStateBase = Nothing
        Dim pdaTask As CPDATask2 = DirectCast(task, CPDATask2)
        Dim webMng As CWebManager = CWebManager.GetInstance
        Dim AppManager As CApplicationManager = CApplicationManager.GetInstance

        'Dim waitTask As CPersonal = New CPersonal(pdaTask)
        Debug.WriteLine("CINNERLabelSetState2.DoExecute...START")

        Dim StateDao As CMasterDAO = New CMasterDAO
        Dim app As CApplication = CApplication.GetInstance()
        Dim masterDao As New CMasterDAO
        Dim sql As CSQLite = app.MasterDB()
        Dim trx As CTransaction = sql.GetTransaction

        'INSERTしても良いかというフラグ
        Dim InsertFlg As Boolean = False
        '絞るリスト画面表示フラグ
        Dim ListReportFlg As Boolean = False
        '絞るリストの重複をさせないように
        Dim ReportDataUni As ArrayList = New ArrayList
        Dim OrderChk As ArrayList = New ArrayList

        'ラベル照合リスト絞る為のORDERCDリスト
        Dim OrderCdSet As ArrayList = New ArrayList

        'MessageBox.Show("CEventCheck.ScreenEnter:" & CEventCheck.ScreenEnter(pdaTask, task.ProcessText))
        '画面から ENTER 選択された時のイベント-------------------------------------->>>>START
        Select Case CEventCheck.ScreenEnter(pdaTask, task.ProcessText)
            ' '注文番号ORDER_CDを選択
            '0: 選択したものは決定してCOMMITする 
            Case 0
                '初期化-------------------------->>START
                CEventCheck.initInsertPdaTask(pdaTask)
                '初期化-------------------------->>END

                task.ActionCd = "LABEL"
                task.ProcessText = ""
                nextState = GetNextState(task)
                Return nextState

                '1: 選択したものはただの選択だけ
            Case 1
                task.ActionCd = "LABEL"
                task.ProcessText = ""
                nextState = GetNextState(task)
                Return nextState

                '2:ラベル照合したもののリストから出荷リストを表示する
            Case 2
                'MessageBox.Show("11212")
                If pdaTask.SetCd <> "" Then
                    'SET_CDが選択されたら次注文を選択するように
                    pdaTask.WindowManager.ChangeWindowMode(EnumWindowMode.REPORTLIST_MODE)
                    '選択したらCOMMITが出来るように
                    CCommon.FlagManage("ORDER_COMMIT", True)
                End If

                task.ActionCd = "LABEL"
                task.ProcessText = ""
                nextState = GetNextState(task)
                Return nextState

                'MessageBox.Show("ListReportFlg:TRUE")
                'InsertFlg = False
                'ListReportFlg = True

            Case 3
                'INSERTしようとしたんですが
                '既に使用済み物を読んだので
                'INSERT失敗

                'task.ActionCd = "LABEL"
                'task.ProcessText = ""
                'nextState = GetNextState(task)
                'Return nextState

        End Select
        '画面から ENTER 選択された時のイベント-------------------------------------->>>>END


        '現在の画面がどの画面によって処理が違う
        Select Case pdaTask.WindowManager.GetWindowMode()

            '出荷情報の絞った画面--------------------------------------------------------------------------------->>>>>>>>出荷情報の絞った画面-START
            Case EnumWindowMode.REPORTLIST_MODE

                task.ActionCd = "REPORTLIST_MODE"

                '出荷情報リスト画面--------------------------------------------------------------------------------->>>>>>>>出荷情報リスト画面-START
            Case EnumWindowMode.LIST_MODE
                'MessageBox.Show("ORDER_MODE")

                task.ActionCd = "ORDER_MODE"

                'ラベル照合情報の絞った画面-------------------------------------------------------------------------->>>>>>>>ラベル照合情報リスト画面-START
            Case EnumWindowMode.LABEL_CHECK_MODE
                'MessageBox.Show("ラベル照合絞ったリスト")
                task.ActionCd = "LABEL_CHECK_MODE"
        End Select

        nextState = GetNextState(task)
        Return nextState




























        ''データ用
        ''==========================================================>LIST絞る用START  
        'Dim retSetCdLst As ArrayList = New ArrayList
        'If task.ProcessText.StartsWith(CConst.CNS_LABEL_HEAD) Then
        '    retSetCdLst.Add(task.ProcessText.Replace(CConst.CNS_LABEL_HEAD, ""))
        'Else
        '    retSetCdLst = StateDao.GetSetCdList(trx, task.ProcessText)
        'End If

        ''ラベル照合リストを絞った事があれば検査
        ''絞った時点で他のラベルセットを読んだらエラーになる
        ''最初の時点に戻す
        'Select Case CEventCheck.LabelListSetCdChk(pdaTask, retSetCdLst)

        '    '別ラベル照合を読んだらエラー
        '    Case 0
        '        '初期化-------------------------->>START
        '        CEventCheck.initPdaTask(pdaTask)
        '        '初期化-------------------------->>END
        '        ''出荷情報のリストに戻す
        '        pdaTask.WindowManager.ChangeWindowMode(EnumWindowMode.LIST_MODE)
        '        'エラーメッセージ表示
        '        CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
        '                            Color.Black, CConst.EnumSound.ALERT_BUZZ, "別のラベルセットです。", Color.White)

        '        task.ActionCd = "LABEL"
        '        task.ProcessText = ""
        '        nextState = GetNextState(task)
        '        Return nextState

        '    Case 1
        '        '正常

        'End Select

        ''現在の画面がどの画面によって処理が違う
        'Select Case pdaTask.WindowManager.GetWindowMode()

        '    '出荷情報の絞った画面--------------------------------------------------------------------------------->>>>>>>>出荷情報の絞った画面-START
        '    Case EnumWindowMode.REPORTLIST_MODE
        '        'MessageBox.Show("REPORT_LIST")
        '        'SET_CDが複数かどうかの判別(普通のパタン)----------------------①-1SET_CDの件数
        '        If retSetCdLst.Count = 1 Then
        '            '選択されたすぐ、照合する
        '            CCommon.FlagManage("ORDER_COMMIT", True)

        '            Select Case CEventCheck.SetCdCheck(pdaTask, retSetCdLst)

        '                Case 0
        '                    '初期化-------------------------->>START
        '                    CEventCheck.initPdaTask(pdaTask)
        '                    '初期化-------------------------->>END
        '                    pdaTask.WindowManager.ChangeWindowMode(EnumWindowMode.LIST_MODE)
        '                    'エラーメッセージ表示
        '                    CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
        '                                        Color.Black, CConst.EnumSound.ALERT_BUZZ, "別のラベルセットです。", Color.White)
        '                    task.ActionCd = "LABEL"
        '                    task.ProcessText = ""
        '                    nextState = GetNextState(task)
        '                    Return nextState
        '                Case 1
        '                    '正常

        '            End Select

        '            'もし、ORDER_CDとSET_CDがあればそのままINSERTにする------------------------>>>>>>>>
        '            If pdaTask.OrderCd <> "" And pdaTask.SetCd <> "" Then
        '                '注文のデータと読んだラベルと比べる
        '                If CPersonal.ChkOrderDataSetCd(pdaTask) Then
        '                    'INSERTする前確認
        '                    If CPersonal.INSERT_ADD_LABEL(pdaTask) Then

        '                        '初期化-------------------------->>START
        '                        CEventCheck.initPdaTask(pdaTask)
        '                        '初期化-------------------------->>END
        '                        pdaTask.WindowManager.ChangeWindowMode(EnumWindowMode.LIST_MODE)
        '                        '完全に照合成功
        '                        pdaTask.Hardware.nextC()

        '                        task.ActionCd = "LABEL"
        '                        task.ProcessText = ""
        '                        nextState = GetNextState(task)
        '                        Return nextState

        '                    End If

        '                Else
        '                    '先、注文番号を選択して他のラベル読んだ時点
        '                    '選択解除
        '                    Dim listCount As Integer = pdaTask.WindowManager.GetRecordCount()
        '                    For cn As Integer = 0 To listCount - 1
        '                        Dim setline As COrderRecord = pdaTask.WindowManager.GetRecord(cn)
        '                        If setline.OrderCd = pdaTask.OrderCd Then
        '                            setline.RowColor = Color.White
        '                            setline.IsSelectFlg = False
        '                            Exit For
        '                        End If
        '                    Next
        '                    '初期化-------------------------->>START
        '                    CEventCheck.initPdaTask(pdaTask)
        '                    '初期化-------------------------->>END
        '                    MessageBox.Show("1")
        '                    'エラーメッセージ表示
        '                    CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
        '                                        Color.Black, CConst.EnumSound.ALERT_BUZZ, CConst.CNS_MSG_007, Color.White)
        '                    task.ActionCd = "LABEL"
        '                    task.ProcessText = ""
        '                    nextState = GetNextState(task)
        '                    Return nextState

        '                End If
        '                'もし、ORDER_CDとSET_CDがあればそのままINSERTにする------------------------>>>>>>>>
        '            End If

        '            'データを見てラベル照合データを絞るか出荷情報を絞るかを判断
        '            Select Case CEventCheck.LblDataCheckScreen(pdaTask, retSetCdLst)

        '                '一つのSET_CDで出荷情報を比べる１になるとそのまま選択状態になる
        '                Case 0
        '                    InsertFlg = True

        '                    '一つのSET_CDで出荷情報を比べる１以上になると絞る画面になる
        '                Case 1
        '                    '絞るリスト画面表示
        '                    'ListReportFlg = True
        '                    InsertFlg = False

        '                    'エラー
        '                Case 2
        '                    InsertFlg = False

        '                    task.ActionCd = "LABEL"
        '                    task.ProcessText = ""
        '                    nextState = GetNextState(task)
        '                    Return nextState
        '            End Select


        '            'SET_CDが複数かどうかの判別(普通のパタン)----------------------①-1SET_CDの件数
        '        ElseIf retSetCdLst.Count > 1 Then

        '            '選択したらFalseなら選択してもラベル読む感じするように
        '            CCommon.FlagManage("ORDER_COMMIT", False)

        '            InsertFlg = False
        '            '絞るリスト画面表示
        '            ListReportFlg = True
        '            'MessageBox.Show("ListReportFlg:TRUE")

        '            For i As Integer = 0 To retSetCdLst.Count - 1
        '                Dim SearchLblData As ArrayList = StateDao.GetOrderDataLst(trx, retSetCdLst(i))
        '                For j As Integer = 0 To SearchLblData.Count - 1
        '                    Dim labelData As CPersonal.strctNowLabelState = SearchLblData(j)
        '                    '配列の中にデータがなければ
        '                    If Not ReportDataUni.Contains(labelData) Then
        '                        ReportDataUni.Add(labelData)
        '                        '重複チェックのデータ
        '                        pdaTask.ReportDataUni.Add(labelData.SetCd)
        '                    End If
        '                Next
        '            Next

        '        Else
        '            ''SET_CDがない場合はエラー----------------------①SET_CDの件数

        '            InsertFlg = False
        '            MessageBox.Show("3")
        '            '初期化-------------------------->>START
        '            CEventCheck.initPdaTask(pdaTask)
        '            '初期化-------------------------->>END

        '            'エラーメッセージ表示
        '            CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
        '                                Color.Black, CConst.EnumSound.ALERT_BUZZ, CConst.CNS_MSG_007, Color.White)
        '            task.ActionCd = "LABEL"
        '            task.ProcessText = ""
        '            nextState = GetNextState(task)
        '            Return nextState

        '        End If
        '        '出荷情報の絞った画面--------------------------------------------------------------------------------->>>>>>>>出荷情報の絞った画面-END


        '        '出荷情報リスト画面--------------------------------------------------------------------------------->>>>>>>>出荷情報リスト画面-START
        '    Case EnumWindowMode.LIST_MODE
        '        'MessageBox.Show("LIST_MODE")

        '        '選択したらFalseなら選択してもラベル読む感じするように
        '        CCommon.FlagManage("ORDER_COMMIT", False)
        '        '最初の場合
        '        'SET_CDが複数かどうかの判別(普通のパタン)----------------------①SET_CDの件数
        '        If retSetCdLst.Count = 1 Then
        '            'MessageBox.Show("SET_CDは一つ")
        '            '選択されたすぐ、照合する
        '            CCommon.FlagManage("ORDER_COMMIT", True)

        '            Select Case CEventCheck.SetCdCheck(pdaTask, retSetCdLst)

        '                Case 0
        '                    '初期化-------------------------->>START
        '                    CEventCheck.initPdaTask(pdaTask)
        '                    '初期化-------------------------->>END
        '                    'エラーメッセージ表示
        '                    CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
        '                                        Color.Black, CConst.EnumSound.ALERT_BUZZ, "別のラベルセットです。", Color.White)

        '                    task.ActionCd = "LABEL"
        '                    task.ProcessText = ""
        '                    nextState = GetNextState(task)
        '                    Return nextState

        '                Case 1
        '                    '正常
        '                    MessageBox.Show("SetCdCheck:TRUE")
        '            End Select

        '            'もし、ORDER_CDとSET_CDがあればそのままINSERTにする
        '            If pdaTask.OrderCd <> "" And pdaTask.SetCd <> "" Then
        '                '注文のデータと読んだラベルと比べる
        '                If CPersonal.ChkOrderDataSetCd(pdaTask) Then

        '                    If CPersonal.INSERT_ADD_LABEL(pdaTask) Then

        '                        pdaTask.WindowManager.ChangeWindowMode(EnumWindowMode.LIST_MODE)

        '                        Dim delRecord As ArrayList = New ArrayList()
        '                        For i As Integer = 0 To pdaTask.WindowManager.GetReportRecordCount - 1
        '                            Dim shpOrderData As COrderRecord = pdaTask.WindowManager.GetReportRecord(i)
        '                            delRecord.Add(shpOrderData)
        '                        Next
        '                        For j As Integer = 0 To delRecord.Count - 1
        '                            pdaTask.WindowManager.DelRecord(delRecord(j), True)
        '                        Next

        '                        '完全に照合成功
        '                        pdaTask.Hardware.nextC()
        '                        CCommon.FlagManage("ORDER_COMMIT", False)

        '                        task.ActionCd = "LABEL"
        '                        task.ProcessText = ""
        '                        nextState = GetNextState(task)
        '                        Return nextState

        '                    End If
        '                Else
        '                    '選択解除
        '                    Dim listCount As Integer = pdaTask.WindowManager.GetRecordCount()
        '                    For cn As Integer = 0 To listCount - 1
        '                        Dim setline As COrderRecord = pdaTask.WindowManager.GetRecord(cn)
        '                        If setline.OrderCd = pdaTask.OrderCd Then
        '                            setline.RowColor = Color.White
        '                            setline.IsSelectFlg = False
        '                            Exit For
        '                        End If
        '                    Next
        '                    '初期化-------------------------->>START
        '                    CEventCheck.initPdaTask(pdaTask)
        '                    '初期化-------------------------->>END
        '                    'エラーメッセージ表示
        '                    CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
        '                                        Color.Black, CConst.EnumSound.ALERT_BUZZ, CConst.CNS_MSG_007, Color.White)
        '                    task.ActionCd = "LABEL"
        '                    task.ProcessText = ""
        '                    nextState = GetNextState(task)
        '                    Return nextState
        '                End If
        '            End If

        '            Dim retOrderDataLst As ArrayList = StateDao.GetOrderDataLst(trx, retSetCdLst(0))
        '            Dim labelNowData As CPersonal.strctNowLabelState = retOrderDataLst(0)

        '            '今の出荷データと比較->絞るリストを作る
        '            Dim retList As Integer = CPersonal.LabelSetCheck2(labelNowData, pdaTask)
        '            '出荷リストから一つ選らんでINSERTする
        '            If retList = 1 Then
        '                '一つなら保存
        '                pdaTask.SetCd = retSetCdLst(0)
        '                'そのままINSERTする
        '                InsertFlg = True
        '                'リストの中にある注文を選択される為にイベント発生
        '                pdaTask.WindowManager.SelectOrder(pdaTask.OrderCd)
        '                'カソルを移動
        '                pdaTask.WindowManager.SetCurrentOrder(pdaTask.OrderCd)

        '                '絞ったリストは削除---------------------->>START
        '                Dim delRecord As ArrayList = New ArrayList()
        '                For i As Integer = 0 To pdaTask.WindowManager.GetReportRecordCount - 1
        '                    Dim shpOrderData As COrderRecord = pdaTask.WindowManager.GetReportRecord(i)
        '                    delRecord.Add(shpOrderData)
        '                Next
        '                For j As Integer = 0 To delRecord.Count - 1
        '                    pdaTask.WindowManager.DelRecord(delRecord(j), True)
        '                Next
        '                '絞ったリストは削除---------------------->>END

        '                '画面で一致するデータが複数あり
        '            ElseIf retList > 1 Then
        '                InsertFlg = False
        '                '画面で選択が出来るように
        '                CCommon.FlagManage("MULTI_ORDER", True)

        '                pdaTask.OrderCd = ""
        '                pdaTask.ShiporderCd = ""
        '                pdaTask.RowNum = ""

        '                '絞るリスト画面に表示
        '                pdaTask.WindowManager.ChangeWindowMode(EnumWindowMode.REPORTLIST_MODE)

        '                'エラー
        '            Else
        '                InsertFlg = False

        '                pdaTask.OrderCd = ""
        '                pdaTask.ShiporderCd = ""
        '                pdaTask.RowNum = ""
        '                'エラーメッセージ表示
        '                'MessageBox.Show("5")
        '                CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
        '                                    Color.Black, CConst.EnumSound.ALERT_BUZZ, CConst.CNS_MSG_007, Color.White)
        '                task.ActionCd = "LABEL"
        '                task.ProcessText = ""
        '                CCommon.FlagManage("ORDER_COMMIT", False)
        '                nextState = GetNextState(task)
        '                Return nextState
        '            End If



        '            'SET_CDが複数の場合----------------------①SET_CDの件数 
        '        ElseIf retSetCdLst.Count > 1 Then
        '            '選択したらFalseなら選択してもラベル読む感じするように
        '            CCommon.FlagManage("ORDER_COMMIT", False)

        '            'SET_CDが複数になると出荷データを検索してカウント見て1以上の場合は
        '            'ラベル照合のリスト絞る
        '            '選択したらラベル照合データが選択され
        '            '出荷照合のデータを選択されるように、でも

        '            '7月14日の対象にするように--------------------START>>>>>>
        '            '出荷データと一致するデータ件数

        '            Select Case CEventCheck.LabelCheckListADD(pdaTask, retSetCdLst)

        '                'ラベル照合データも、出荷データも複数存在なら
        '                'ラベル照合リストを絞る
        '                Case 0
        '                    ListReportFlg = False
        '                    InsertFlg = False

        '                    '出荷データ自動選択
        '                    '一つしかない時
        '                Case 1

        '                    'すぐ、INSERTするように
        '                    InsertFlg = True
        '                    ListReportFlg = False
        '                    'MessageBox.Show("ListReportFlg:TRUE")

        '                Case 2
        '                    '初期化-------------------------->>START
        '                    CEventCheck.initPdaTask(pdaTask)
        '                    '初期化-------------------------->>END
        '                    'エラーメッセージ表示
        '                    CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
        '                                        Color.Black, CConst.EnumSound.ALERT_BUZZ, CConst.CNS_MSG_007, Color.White)
        '                    task.ActionCd = "LABEL"
        '                    task.ProcessText = ""
        '                    nextState = GetNextState(task)
        '                    Return nextState

        '            End Select

        '            ''SET_CDがない場合はエラー----------------------①SET_CDの件数
        '        Else
        '            '選択したらFalseなら選択してもラベル読む感じするように
        '            CCommon.FlagManage("ORDER_COMMIT", False)

        '            InsertFlg = False
        '            'エラーメッセージ表示
        '            MessageBox.Show("6")
        '            CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
        '                                Color.Black, CConst.EnumSound.ALERT_BUZZ, CConst.CNS_MSG_022, Color.White)
        '            task.ActionCd = "LABEL"
        '            task.ProcessText = ""
        '            CCommon.FlagManage("ORDER_COMMIT", False)
        '            nextState = GetNextState(task)
        '            Return nextState

        '        End If
        '        '出荷情報リスト画面--------------------------------------------------------------------------------->>>>>>>>出荷情報リスト画面-END

        '        'ラベル照合情報の絞った画面
        '    Case EnumWindowMode.LABEL_CHECK_MODE
        '        'MessageBox.Show("ラベル照合絞ったリスト")

        '        Dim cntCount As Integer = 0
        '        Dim cntSetCd As String = ""
        '        If pdaTask.LabelCheckList.Count > 1 Then
        '            'MessageBox.Show("チェック")
        '            Dim cntFlg As Boolean = False
        '            Dim delList As ArrayList = New ArrayList
        '            For i As Integer = 0 To pdaTask.LabelCheckList.Count - 1
        '                Dim labelLstSetCd As String = pdaTask.LabelCheckList(i)
        '                For j As Integer = 0 To retSetCdLst.Count - 1
        '                    If labelLstSetCd = retSetCdLst(j) Then
        '                        cntCount += 1
        '                        cntSetCd = labelLstSetCd
        '                        cntFlg = True
        '                        Exit For
        '                    End If
        '                Next
        '                '削除するもの
        '                If Not cntFlg Then
        '                    delList.Add(labelLstSetCd)
        '                End If
        '            Next
        '            '絞ったリストから削除
        '            'MessageBox.Show("delList:" & delList.Count)
        '            For h As Integer = 0 To delList.Count - 1
        '                pdaTask.LabelCheckList.Remove(delList(h))
        '            Next
        '            '絞ったリスト削除()
        '            For j As Integer = 0 To delList.Count - 1
        '                pdaTask.WindowManager.DelRecord(delList(j), True)
        '            Next
        '            If cntCount = 1 Then
        '                pdaTask.SetCd = cntSetCd
        '                '画面変わるy
        '                ListReportFlg = True
        '            ElseIf cntCount > 1 Then



        '            Else
        '                'エラー


        '            End If
        '        End If

        'End Select


        ''==========================================================>LIST絞る用END
        ''画面用------------------------------------------------------------->>>START
        ''絞るリスト画面表示
        'If ListReportFlg Then
        '    'MessageBox.Show("'画面用")
        '    Select Case pdaTask.WindowManager.GetWindowMode
        '        '普通の出荷リスト画面
        '        Case EnumWindowMode.LIST_MODE  '-------------------------------------->>>>普通の出荷リスト画面」
        '            'MessageBox.Show("LIST_MODE")



        '            'ラベル照合データリスト
        '        Case EnumWindowMode.LABEL_CHECK_MODE  '-------------------------------------->>>>ラベル照合絞ったリスト画面
        '            MessageBox.Show("ラベル照合絞った画面")
        '            If pdaTask.SetCd <> "" Then
        '                'SET_CDが選択されたら次注文を選択するように
        '                pdaTask.WindowManager.ChangeWindowMode(EnumWindowMode.REPORTLIST_MODE)
        '                '選択したらCOMMITが出来るように
        '                CCommon.FlagManage("ORDER_COMMIT", True)
        '            Else


        '            End If

        '            '出荷絞ったリスト
        '        Case EnumWindowMode.REPORTLIST_MODE  '-------------------------------------->>>>出荷照合絞ったリスト画面
        '            MessageBox.Show("絞った画面")
        '            Dim delRecord As ArrayList = New ArrayList()
        '            Dim retCnt As Integer = 0

        '            For i As Integer = 0 To ReportDataUni.Count - 1
        '                Dim labelData As CPersonal.strctNowLabelState = ReportDataUni(i)
        '                '絞ったリスト()
        '                For j As Integer = 0 To pdaTask.WindowManager.GetReportRecordCount - 1
        '                    Dim shpOrderData As COrderRecord = pdaTask.WindowManager.GetReportRecord(j)
        '                    If labelData.OrderCd = shpOrderData.OrderCd Then
        '                        retCnt += 1
        '                        pdaTask.OrderCd = shpOrderData.OrderCd
        '                        pdaTask.ShiporderCd = shpOrderData.ShiporderCd
        '                        pdaTask.RowNum = shpOrderData.RowNum

        '                    Else
        '                        delRecord.Add(shpOrderData)
        '                    End If
        '                Next
        '            Next
        '            If retCnt = 1 Then
        '                pdaTask.WindowManager.ChangeWindowMode(EnumWindowMode.LIST_MODE)

        '                '絞ったリストは全部削除--------------------------->START
        '                Dim delRecord2 As ArrayList = New ArrayList()
        '                For i As Integer = 0 To pdaTask.WindowManager.GetReportRecordCount - 1
        '                    Dim shpOrderData As COrderRecord = pdaTask.WindowManager.GetReportRecord(i)
        '                    delRecord2.Add(shpOrderData)
        '                Next
        '                For j As Integer = 0 To delRecord2.Count - 1
        '                    pdaTask.WindowManager.DelRecord(delRecord2(j), True)
        '                Next
        '                '絞ったリストは全部削除--------------------------->END
        '            ElseIf retCnt > 1 Then
        '                '絞ったリスト削除()
        '                For j As Integer = 0 To delRecord.Count - 1
        '                    pdaTask.WindowManager.DelRecord(delRecord(j), True)
        '                Next

        '                '絞ったリスト画面に変わる()
        '                pdaTask.WindowManager.ChangeWindowMode(EnumWindowMode.REPORTLIST_MODE)
        '                'エラー()
        '            Else
        '                '絞ったリストは全部削除--------------------------->START
        '                Dim delRecord2 As ArrayList = New ArrayList()
        '                For i As Integer = 0 To pdaTask.WindowManager.GetReportRecordCount - 1
        '                    Dim shpOrderData As COrderRecord = pdaTask.WindowManager.GetReportRecord(i)
        '                    delRecord2.Add(shpOrderData)
        '                Next
        '                For j As Integer = 0 To delRecord2.Count - 1
        '                    pdaTask.WindowManager.DelRecord(delRecord2(j), True)
        '                Next
        '                '絞ったリストは全部削除--------------------------->END
        '                'エラーメッセージ表示()
        '                MessageBox.Show("7")
        '                CPersonal.ErrorWindow2(pdaTask, EnumWindowMode.ALERT_MODE, _
        '                                    Color.Black, CConst.EnumSound.ALERT_BUZZ, CConst.CNS_MSG_007, Color.White)
        '                task.ActionCd = "LABEL"
        '                task.ProcessText = ""
        '                nextState = GetNextState(task)
        '                Return nextState

        '            End If

        '    End Select
        'End If

        ''INSERT用------------------------------------------------------------->>>
        'If InsertFlg Then
        '    CPersonal.INSERT_ADD_LABEL(pdaTask)

        '    '上で追加されたデータは削除
        '    '絞ったリストは消す
        '    '初期化-------------------------->>START
        '    CEventCheck.initPdaTask(pdaTask)
        '    '初期化-------------------------->>END
        '    '完全に照合成功
        '    pdaTask.Hardware.nextC()
        'End If

        ''画面用------------------------------------------------------------->>>END

        task.ActionCd = "LABEL"
        task.ProcessText = ""
        nextState = GetNextState(task)
        Return nextState
    End Function

    ''' <summary>
    ''' 終了メソッド(未使用)
    ''' </summary>
    ''' <param name="task"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Overrides Function DoExit(ByVal task As CTaskBase) As Boolean
        Debug.WriteLine("CINNERLabelSetState2.DoExit")
        Return True
    End Function


End Class
